fn main() {
    // {} 会被逗号后的变量内容 填充 转化为 字符串
    println!("{} days ",31);
    // {}中数字代替 位置
    println!("{0} , this is {1}. {1}, this is {0}","Alice","Bob");
    // 也可明明参数来输出打印
    println!("{subject} {verb} {object}",
    subject = "the quick brown fox ",
    verb = "jumps over",
    object = "this lazy dog");

    // 可以在 : 后面加特殊 的格式 可扩展 需参考文档  std::fmt
    println!("{} of {:b}",1,2);

    // 你可以按指定宽度来右对齐文本。
    // 下面语句输出 "     1"，5 个空格后面连着 1。
    println!("{number:>width$}", number=1, width=6);

    // 你可以在数字左边补 0。下面语句输出 "000001"。
    println!("{number:>0width$}", number=1, width=6);

    // width$ 在字符串前加占位符 只可以是 0 或者 ''

    // println! 会检查使用到的参数数量是否正确。
    println!("My name is {0}, {1} {0}", "Bond","teswt");
    // 改正 ^ 补上漏掉的参数："James"

    // 创建一个包含单个 `i32` 的结构体（structure）。命名为 `Structure`。
    #[allow(dead_code)]
    struct Structure(i32);

    // 但是像结构体这样的自定义类型需要更复杂的方式来处理。
    // 下面语句无法运行。
    // println!("This struct `{}` won't print...", Structure(3));
    // 改正 ^ 注释掉此行。
}